#ifndef MUTAOBJECT_H
#define MUTAOBJECT_H

#include <QObject>
#include <QBrush>
#include <QString>
#include <QPen>
#include <QGraphicsItem>
#include <QDebug>
#include "Global.h"
//#include "Mutagen.h"

class MutaObject : public QObject
{
    Q_OBJECT
public:
    MutaObject(QString objectID,Muta::MutaType type,QString owner);
    static int localObjectCounter;
    QString getOwner();
    QString getObjectID();
    Muta::MutaType getType();
    void setOwner(QString owner);
    int getObjectCount();
    virtual void setPos(const QPointF &pos);
    virtual void setX(qreal x);
    virtual void setY(qreal y);
    QString objectID;
    bool playing;
    virtual QStringList getProperties();
    Muta::MutaType mutaType;
    virtual void remoteSetX(float x);
    virtual void remoteSetY(float y);
    virtual void forceOSCthulhuUpdate();
protected:
    QString owner;


signals:
    void posChanged( QString objectID, const QPointF& point );
    void colorChanged( QString objectID, const QColor& color );
    void ownerChanged(QString objectID, QString owner);
};

#endif // MUTAOBJECT_H
